class HistoricosInternosController < ApplicationController
  #MODULE: Historial Laboral

  # GET /historicos_internos
  # GET /historicos_internos.xml
  def index #IGNORE
    @historicos_internos = HistoricoInterno.all
    
    
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @historicos_internos }
    end
  end

  # GET /historicos_internos/1
  # GET /historicos_internos/1.xml
  def show #DESC: Ver registros de contrato.
    @historico_interno = HistoricoInterno.find(params[:id])
    
    respond_to do |format|
      format.html
      format.js   {render :layout => false}
      format.xml  { render :xml => @historico_interno }
    end
  end

  # GET /historicos_internos/new
  # GET /historicos_internos/new.xml
  def new #DESC: Agregar un nuevo registro de contratos.
    @historico_interno = HistoricoInterno.new
    @historico_interno.usuario_id = params[:usuario_id]
    @historico_interno.cargo_id = params[:cargo_id]
          
    respond_to do |format|
      format.js { render :layout => false}
      format.xml  { render :xml => @historico_interno }
    end
  end

  # GET /historicos_internos/1/edit
  def edit #DESC: Editar los registros de contrato.
    @historico_interno = HistoricoInterno.find(params[:id])
    respond_to do |format|
      format.js   {render :layout => false}
      format.html 
    end
  end

  # POST /historicos_internos
  # POST /historicos_internos.xml
  def create
    @historico_interno = HistoricoInterno.new(params[:historico_interno])
    respond_to do |format|
      if @historico_interno.save
        @usuario=@historico_interno.usuario
        format.html {
          flash[:notice] =  'Historico Laboral Interno creado correctamente.'
          params[:oper].nil? ? redirect_to(@usuario) : render(:text => "Ok")}
        format.js  {actualizar_view}
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @historico_interno.errors, :status => :unprocessable_entity }
      end
    end
  end

  # PUT /historicos_internos/1
  # PUT /historicos_internos/1.xml
  def update
    @historico_interno = HistoricoInterno.find(params[:id])
    @usuario=@historico_interno.usuario
    respond_to do |format|
      if @historico_interno.update_attributes(params[:historico_interno])
        format.html { 
          flash[:notice] = 'Historico Laboral Interno actualizado correctamente.'
          redirect_to(@historico_interno.usuario) }
        format.xml  { head :ok }
        format.js  {actualizar_view}
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @historico_interno.errors, :status => :unprocessable_entity }
      end
    end
  end

  # DELETE /historicos_internos/1
  # DELETE /historicos_internos/1.xml
  def destroy #DESC: Eliminar registros de contrato.
    @historico_interno = HistoricoInterno.find(params[:id])
    @usuario = @historico_interno.usuario
    @historico_interno.destroy
    respond_to do |format|
      format.js  do 
        actualizar_view
      end
    end
  end
  
  private
  def actualizar_view
    @periodos=@usuario.contratos_por_periodo
    @action_name="edit"
    render :update do |page|
      page.replace_html "contratos", :file => "historicos_internos/index"
      page.visual_effect(:highlight, "tr-historicointerno-#{params[:id]}", :duration=>2.5)
      page << "makeColorBox()"
    end
  end
end
